// 属性
const state = {
  userInfo: {
    name: 'zs',
    age: 34
  },
  count: 20
}
// 筛选属性
const getters = {
  upperCaseName (state) {
    return state.userInfo.name.toUpperCase()
  }
}
// 修改属性
const mutations = {
  changeUserInfo (state, newUserInfo) {
    state.userInfo = newUserInfo
  }
}
// 异步修改属性,也不能直接修改，只能通过mapstations更新
const actions = {
  syncChangeUserInfo (context, newUserInfo) {
    setTimeout(() => context.commit('changeUserInfo', newUserInfo), 1000)
  }
}

export default {
  // 开启命名空间，才可以使用mapState等辅助函数 指定模块 语法 ...mapState('user',['userInfo'])
  namespaced: true,
  state,
  getters,
  mutations,
  actions
}
